/**
 * 公用方法
 * Created by zengtao on 2017/8/28.
 */
define(["jquery", "artTemplate"], function ($, art) {
	return {
		/**
		 * 获取主机地址
		 */
		kcUrl:function (){
			var url = window.location.protocol +"//" + window.location.host + "/" + "yunis/";		
			return url;
		},
		/**
		 * 获取操作人姓名和ID
		 * @param selTagId 下拉选择框ID "#XX"
		 */
		getOp:function(selTagId,url){
			//获取操作人名字和ID  
			$.post(url+"base/operatorList.shtml",{},function(res){
				for(var i=0;i<res.result.length;i++){
					$(selTagId).append("<option value='"+res.result[i].user_id+"'>"+res.result[i].user_name+"</option>"); 
				}
			});
		},
		/**
		 * 复制操作人姓名和ID
		 * @param ID 待填充的下拉选择框ID "#XX"
		 */
		cloneOp:function(id){			
		  $("#select_operator_list option").each(function(){ 
			var oValue = $(this).val().toString();	
        	var oText = $(this).text().toString();	
        	$(id).append("<option value='"+oValue+"'>"+oText+"</option>");
	      });
		  $(id).children("option[value="+ $('#current_userid').val()+"]").attr("selected","selected");//设置为当前登录操作人
		},
		
		/**
		 * 复制物品类型和ID
		 * @param ID 待填充的下拉选择框ID "#XX"
		 */
		cloneType:function(id){			
		  $("#select_wptype_list option").each(function(){ 
			var oValue = $(this).val().toString();	
        	var oText = $(this).text().toString();	
        	$(id).append("<option value='"+oValue+"'>"+oText+"</option>"); 
	      });
		},
		
		/**
		 * 复制经销商和ID
		 * @param ID 待填充的下拉选择框ID "#XX"
		 */
		cloneJxs:function(id){			
		  $("#select_jingxiaos_list option").each(function(){ 
			var oValue = $(this).val().toString();	
        	var oText = $(this).text().toString();	
        	$(id).append("<option value='"+oValue+"'>"+oText+"</option>"); 
	      });
		},
		
		/**
		 * 复制厂家和ID
		 * @param ID 待填充的下拉选择框ID "#XX"
		 */
		cloneCj:function(id){			
		  $("#select_changjia_list option").each(function(){ 
			var oValue = $(this).val().toString();	
        	var oText = $(this).text().toString();	
        	$(id).append("<option value='"+oValue+"'>"+oText+"</option>"); 
	      });
		},
		
		/**
		 * 更新物品类型
		 * @param 
		 */
		getwuptype:function(){
			   $.get(this.kcUrl() + "inventory/inventorytypeList.shtml",function(res){
				   $("#select_wptype_list").empty();
				   var result = eval('(' + res.result + ')');	   
				   for(var i=0;i<result.length;i++){
						$("#select_wptype_list").append("<option value='"+result[i].sk_type_id+"'>"+result[i].sk_type_name+"</option>"); 
					}	   
			   });
		   },
		   
	   /**
		 * 更新生产厂家列表
		 * @param 
		 */   
		getUpCj:function(){
			//保存生产厂家列表
			   $.post(this.kcUrl() + "inventory/providerList.shtml",{type:0},function(res){
				   var result = eval('(' + res.result + ')');
				   $("#select_changjia_list").empty();
				   for(var i=0;i<result.length;i++){
						$("#select_changjia_list").append("<option value='"+result[i].sk_provider_id+"'>"+result[i].sk_provider_name+"</option>"); 
					}	   
			   });
		},
		
		/**
		 * 更新供应商
		 * @param 
		 */   
		getUpGys:function(){
			//保存供应商列表
			$.post(this.kcUrl() + "inventory/providerList.shtml",{type:1},function(res){
				   var result = eval('(' + res.result + ')');
				   $("#select_jingxiaos_list").empty();
				   for(var i=0;i<result.length;i++){
						$("#select_jingxiaos_list").append("<option value='"+result[i].sk_provider_id+"'>"+result[i].sk_provider_name+"</option>"); 
					}	   
			   });
		},
		
		/**
		 * 设置时间控件的时间为30天前
		 * @param 
		 */ 
		monthnow : function () {
		    var timenow = new Date();
		    timenow.setDate(timenow.getDate() - 30);
		    var y = timenow.getFullYear();//年
		    var m = timenow.getMonth() + 1;//月
		    m = m < 10 ? '0' + m : m;
		    var d = timenow.getDate();//日
		    d = d < 10 ? ('0' + d) : d;
		    var time = y + '-' + m + '-' + d;//字符串拼接成自己想要的时间格式，现在是yyyy/mm/dd格式
		    return time;
		},
		
		/**
		 * 设置时间控件的时间为本月1号
		 * @param 
		 */ 
		monthfirstday : function () {
		    var timenow = new Date();
		    timenow.setDate(timenow.getDate());
		    var y = timenow.getFullYear();//年
		    var m = timenow.getMonth() + 1;//月
		    m = m < 10 ? '0' + m : m;
		    var d = timenow.getDate();//日
		    d = d < 10 ? ('0' + d) : d;
		    var time = y + '-' + m + '-' + '01';//字符串拼接成自己想要的时间格式，现在是yyyy/mm/dd格式
		    return time;
		},
		
		/**
		 * 设置时间控件的时间为当天：年-月-日
		 * @param 
		 */ 
		dateTodayYmd : function () {
		    var timenow = new Date();
		    timenow.setDate(timenow.getDate());
		    var y = timenow.getFullYear();//年
		    var m = timenow.getMonth() + 1;//月
		    m = m < 10 ? '0' + m : m;
		    var d = timenow.getDate();//日
		    d = d < 10 ? ('0' + d) : d;
		    var time = y + '-' + m + '-' + d;//字符串拼接成自己想要的时间格式，现在是yyyy/mm/dd格式
		    return time;
		},
		
		/**
		 * 获取当前时间 年月日时分秒
		 * @param 
		 */ 
		getNowFormatDate : function () {
		    var date = new Date();
		    var seperator1 = "-";
		    var seperator2 = ":";
		    var month = date.getMonth() + 1;
		    var strDate = date.getDate();
		    if (month >= 1 && month <= 9) {
		        month = "0" + month;
		    }
		    if (strDate >= 0 && strDate <= 9) {
		        strDate = "0" + strDate;
		    }
		    var m = date.getMinutes();
		    if (m >= 0 && m <= 9) {
		        m = "0" + m;
		    }
		    var s = date.getSeconds();
		    if (s >= 0 && s <= 9) {
		        s = "0" + s;
		    }

		    var currentdate = date.getFullYear() + seperator1 + month + seperator1 + strDate
		            + " " + date.getHours() + seperator2 + m
		            + seperator2 + s;
		    return currentdate;
		},
		
		/**
		 * 库存查询模块，请求数据后弹窗显示相应内容
		 * @param url
		 * @param sendData 示例 {inventory_id:inventory_id,batch:batch,type:0}
		 * @param htmlTpl 需要渲染的模板id  "#xx"
		 * @param layerTitle 弹窗标题
		 * @param tag1 详细内容部分容器的ul 选择器
		 * @param provider_id 物品编码
		 * @param provider_name 物品名称
		 */ 
		openLayer:function(url,sendData,htmlTpl,layerTitle,tag1,provider_id,provider_name){
			//发送请求物品详情
			$.get(this.kcUrl() + url,sendData, function (res){
				//console.log(res);
				var result = eval('('+res.result+')');
				//console.log(result);
				var listHtml = art.render($(htmlTpl).html(),{result:result});
				layer.open({
					title: [layerTitle, 'font-size:18px;background:#EFF2F5;'],
					type: 1,
					shadeClose:true,
					id:"layer_open",
					area: ['1032px', '616px'],
					resize: false,		
					content:listHtml
			});
				$("#sk_provider_id").text(provider_id);
				$("#sk_provider_name").text(provider_name);
				if(result.length == 0){
					$("#wprkxq_list_ul_svf").empty().append("<li class='list_empty'><span>暂无数据</span></li>");
					return
				}
				setPaddingR(tag1,".tip_layer_show");
			});
		},
		
		openLayerPre:function(url,sendData,htmlTpl,layerTitle,tag1,provider_id,provider_name){
			//发送请求物品详情
			$.get(this.kcUrl() + url,sendData, function (res){
				//console.log(res);
				var result = eval('('+res.result+')');
				//console.log(result);
				var listHtml = art.render($(htmlTpl).html(),{result:result});
				layer.open({
					title: [layerTitle, 'font-size:18px;background:#EFF2F5;'],
					type: 1,
					shadeClose:true,
					id:"layer_open",
					area: ['1032px', '616px'],
					resize: false,		
					content:listHtml
			});
				$("#sk_provider_id").text(provider_id);
				$("#sk_provider_name").text(provider_name);
				if(result.length == 0){
					$("#wprkxq_list_ul_svf").empty().append("<li class='list_empty'><span>暂无数据</span></li>");
					return
				}
				setPaddingR(tag1,".tip_layer_show");
				$("#kcpd_pdls_ul_svc").find("span.kcpd_pdls_pdzj").each(function(v,i){//将金额为-0的显示为0
					var pdzj = $(this).text();
					if(Math.abs(pdzj) == 0){
						$(this).text("0");
					}
				});
			});
		},
		
		/**
		 * 价格保留2位小数
		 * @param price 用户输入的价格
		 */
		float_num2: function(price){
			var f_x = parseFloat(price);
			if (isNaN(f_x)){
			      return 0;
			    }
		    var f_x = Math.round(price * 100) / 100;
		    var s_x = f_x.toString();
		    var pos_decimal = s_x.indexOf('.');
		    if (pos_decimal < 0){
		      pos_decimal = s_x.length;
		      s_x += '.';
		    }
		    while (s_x.length <= pos_decimal + 2){
		      s_x += '0';
		    }
		    return s_x;
		},
		
		/**
		 * 执行Ajax
		 * @param url
		 * @param data 通过id获取的模板
		 * @param type 渲染列表数据的ul容器ID
		 * @param _success_callback 列表出现滚动条时需要设置标题padding的选择器
		 * @param _error_callback 出现滚动条的高度 数字类型
		 */
		exeAjax: function (url, data, type, _success_callback, _error_callback) {
			try {
				var ajax2 = $.ajax({
					url: url,
					type: type,
					dataType: 'json',
					contentType: "application/x-www-form-urlencoded;charset=UTF-8",
					timeout: 60000,
					async: true,
					data: data,
					success: function (_res) {
						if (_success_callback) {
							if (_res.code) {
							}
							var newResData = _res;
							_success_callback(newResData);
						};
					},
					error: function () {
						if (_error_callback) {
							_error_callback();
						};
					}
				});
			} catch (e) {
				console.log(e.name + ":" + e.message);
			}
		},
		get: function (url, params, callback) {
			$.get(url, params, function (res) {
				if (res.code != 200) {
					console.log(res.msg);
					return;
				}

				callback && callback(res);
			});
		},
		//处理ajax请求的入口方法
		ajax: function (type, url, params, callback) {
			$[type](url, params, function (res) {
				if (res.code != 0) {
					console.log(res.msg);
					return;
				}

				callback && callback(res);
			});
		},
		/**
		 * get请求获取数据，渲染index.html中template模板
		 * @param url
		 * @param tplid 通过id获取的模板
		 * @param containerid 渲染列表数据的ul容器ID
		 * @param title_pr 列表出现滚动条时需要设置标题padding的选择器
		 * @param maxheight 出现滚动条的高度 数字类型
		 * @param callback 回调
		 */
		getlist: function (url, tplid, containerid, title_pr, maxheight, callback) {
			$.get(url, function (res) {
				var result = res.result;
				var hzlistTpl = $(tplid).html();
				var listHtml = art.render(hzlistTpl, {
					result: result
				});
				var $listHtml = $(listHtml);
				$(containerid).empty();
				$(containerid).append($listHtml);
				setPaddingR(containerid, title_pr, maxheight);
				callback && callback();
			});
		}
	};
});